package com.yao.mall.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yao.mall.model.dto.BrandRequest;
import com.yao.mall.model.dto.BrandSearchRequest;
import com.yao.mall.model.entity.Brand;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yao.mall.model.entity.Category;
import com.yao.mall.model.vo.BrandVO;
import com.yao.mall.model.vo.CategoryVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
* @author jiahua.yao
* @description 针对表【brand】的数据库操作Service
* @date 2024-03-07 16:47:35
*/
public interface BrandService extends IService<Brand> {

    /**
     * 获取品牌列表
     * @param brandSearchRequest dto
     * @return
     */
    Page<BrandVO> getBrandList(BrandSearchRequest brandSearchRequest);

    /**
     * brand->brandVO
     * @param list
     * @return
     */
    List<BrandVO> toBrandVO(List<Brand> list);

    /**
     * 添加品牌（仅限管理员账户）
     * @return boolean
     */
    Boolean addBrand(BrandRequest brandRequest);


    /**
     * 删除品牌
     * @param id id
     * @return boolean
     */
    Boolean deleteBrand(Long id);

    /**
     * 更新品牌信息
     * @param brandRequest 品牌信息
     * @return boolean
     */
    Boolean updateBasic(BrandRequest brandRequest);

    /**
     * 通过分类id获取品牌
     * @return
     */
    List<BrandVO> getBrandByCateId(Long cateId);

}
